本篇同步發文在個人Blog: 一袋.NET要扛幾樓?打造容器化的ASP.NET Core網站!系列文章 - (12) 建立會員系統 - 1
傳統網站系統的認證功能,通常是用Cookie認證。可參考這篇解說: [C#][ASP.NET] Web API 開發心得 (4) - 使用 FormsAuthentication 進行 API 授權驗證 ,引用他的這張圖:
Cookie驗證的缺點包含
網頁的認證/授權系統從OAuth規格訂出來,改善前述Cookie驗證的問題,到今日演變成OAuth2 與 OIDC(OpenId Connect),像是Google/Facebook/Twitter等,採用OIDC的機制,使各個應用程式能實作更彈性的認證功能。
OAuth2/OIDC有很多種認證方式,可以參考這篇的介紹OAuth 2.0 筆記 (1) 世界觀,而我們的會員系統會採用混和(Hybrid)授權機制。
IdentityServer4是實作OIDC與OAuth2的ASP.NET Core函式庫,本會員系統會採用此套件做發開。可以參考IdentityServer4 官方網站。
下一篇將安裝IdentityServer4與設定Scope/Resource等。